今天這篇呢,就來跟大家科普甚麼是智能合約(smart contract)。
其實「智能合約」,這個取名連當初的命名者V神都在推特上發文表示:我很後悔採用了這樣的命名,應該把它取得無聊但準確一些,叫做「永久保存在鏈上的紀錄」(persistent scripts)。
智能合約非常諷刺,既不夠智能,也不是日常生活我們理解的合約。
它是一種可以用程式實作區塊鏈上的每一筆交易紀錄,能和交易對象設定交易條件,執行不需信任第三方。智能合約是全天候進行的,並不像銀行三點半關門。因為運作在區塊鏈上,所以每個節點都有維護數位帳本的義務,並且追蹤最新狀態,所以「部署合約」(把合約上鏈)需要「手續費」(即:燃料)。當前很流行的去中心化應用(DApp),就能夠用多個智能合約組合在一起,彼此互相操作、互動,因為是用程式碼寫的,所以有保證交易過程透明(公開)和不可竄改的特性(可審計)。
智能合約是怎麼運作的呢?
一旦滿足某項條件,智能合約就會執行,有點像是if怎麼樣,then執行甚麼的概念。舉例來說,A想發給B貨幣基金2400美元,在接下來的24個月內,每個月的10號都會發給B100美金,那麼A就必須在智能合約上提及(等於說是code要寫到這些「變數」):
「合約」有點像是建立一套「遊戲規則」,時間一到且觸發條件,程式就會執行。很特別的是運作在鏈上,就有了區塊鏈的價值,包括簽合約、將其部署上鏈,都是用區塊鏈的加密方法。雖然說很透明公開,但它若有一方違約,是不是在現實生活中有法律保障,這就有待立法商榷了。